package miniprojet;

/**
 * Main temporaire. Permet de montrer le fonctionnement basique de l'application.
 */

import java.util.ArrayList;
import java.util.List;

import miniprojet.Transport.EnumTransport;

public class Main {
    
    public static void main(String[] args) {
        
        // On crée un nouveau serveur. S'il n'y a pas de base de données, une nouvelle est créée.
        Serveur s = new Serveur();
        
        
        // On associe un administrateur à un serveur.
        Admin admin = new Admin(s);
        
        // On affiche le nombre de transports présents dans la base de données.
        System.out.println(s.getTransports().size());
        
        // On crée deux voyageurs
        Voyageur v1 = new Voyageur("Lavail", "Antoine");
        Voyageur v2 = new Voyageur("Laurent", "Alexis");
        
        // On crée trois trajets.
        Trajet t1 = new Trajet("10/11/11", "10/11/11", "10h30", "18h30", "Marseille", "Nice");
        Trajet t2 = new Trajet("11/11/11", "11/11/11", "8h30", "17h30", "Lyon", "Mars");
        Trajet t3 = new Trajet("12/11/11", "12/11/11", "9h30", "16h30", "Toulon", "Los Angeles");
       
        // On ajoute les voyageurs aux trajets
        t1.addVoyageur(v1);
        t2.addVoyageur(v2);
        
        // On crée une liste de trajets à laquelle on ajoute trois trajets.
        List<Trajet> t = new ArrayList<Trajet>();
        t.add(t1);
        t.add(t2);
        t.add(t3);
        
        // Création des objets transport.
        Transport transport1 = new Transport(EnumTransport.AVION, 10, t);        
        Transport transport2 = new Transport(EnumTransport.BATEAU, 10, t);        
        Transport transport3 = new Transport(EnumTransport.BUS, 10, t);        
        Transport transport4 = new Transport(EnumTransport.TRAIN, 10, t);        
        Transport transport5 = new Transport(EnumTransport.SOUCOUPE, 10, t);
        
        // Ajout des transports créées précédemment à la base de données.
        admin.addTransport(transport1);
        admin.addTransport(transport2);
        admin.addTransport(transport3);
        admin.addTransport(transport4);
        admin.addTransport(transport5);
        
        // Vérification de la taille de la base de données.
        System.out.println(s.getTransports().size());
        
        // Sauvegarde du serveur.
        s.sauvegarder();
    }

}